#ifndef __STRIPPER__
#define __STRIPPER__


#include <string>

// the enums are kept in the public class definition:
//    1. easy to understand which class caused what
//    2. easy access from outside the class



class stripper {

 public:
  stripper();
  virtual ~stripper(){};

  enum stripMode { FRONT = 0, //
                   BACK };

  enum exitStatus  { UNDEFINED = 0, //
                     EMPTY_INPUT,  //
                     WRONG_DIRECTION, //
                     FRONT_DIRECTION, //
                     BACK_DIRECTION };

  std::string strip( std::string line, std::string tag, stripper::stripMode direction=FRONT );
  bool tagFound(){ return m_tagIsFound; };
  exitStatus getStatus() { return m_outputStatus; };


 private:
  bool m_tagIsFound;
  exitStatus m_outputStatus;

};



#endif  //  __STRIPPER__
